package br.com.sige.entidade;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity(name="processo")
public class Processo implements Serializable {

	private static final long serialVersionUID = -7220685845076060672L;

	@Id
	private Long numProcesso;
	
	private String cliente;
	
	private String autor;
	
	private String reu;
	
	private String terceiros;
	
	private String classificacao;
	
	@Column(name="tipo_acao")
	private String tipoAcao;
	
	private String juiz;
	
	private String vara;
	
	private String comarca;
	
	@Column(name="local_documentos")
	private String localDocumentos;
	
	@Column(name="documentacao_entregue")
	private String documentacaoEntregue;
	
	private String descricao;
	
	@Temporal(TemporalType.DATE)
	@Column(name="data_inicial")
	private Date dataInicial;
	
	@Temporal(TemporalType.DATE)
	@Column(name="data_final")
	private Date dataFinal;
	
	private String audiencia;
	
	@Column(name="status_causa")
	private String statusCausa;
	
	@OneToMany
	@JoinTable(name="proc_and", 
	joinColumns=@JoinColumn(name="processo_numProcesso"),
	inverseJoinColumns=@JoinColumn (name="andamento_id"))
	private List<Andamento> andamento;

	public Long getNumProcesso() {
		return numProcesso;
	}

	public void setNumProcesso(Long numProcesso) {
		this.numProcesso = numProcesso;
	}

	public String getCliente() {
		return cliente;
	}

	public void setCliente(String cliente) {
		this.cliente = cliente;
	}

	public String getAutor() {
		return autor;
	}

	public void setAutor(String autor) {
		this.autor = autor;
	}

	public String getReu() {
		return reu;
	}

	public void setReu(String reu) {
		this.reu = reu;
	}

	public String getTerceiros() {
		return terceiros;
	}

	public void setTerceiros(String terceiros) {
		this.terceiros = terceiros;
	}

	public String getClassificacao() {
		return classificacao;
	}

	public void setClassificacao(String classificacao) {
		this.classificacao = classificacao;
	}

	public String getTipoAcao() {
		return tipoAcao;
	}

	public void setTipoAcao(String tipoAcao) {
		this.tipoAcao = tipoAcao;
	}

	public String getJuiz() {
		return juiz;
	}

	public void setJuiz(String juiz) {
		this.juiz = juiz;
	}

	public String getVara() {
		return vara;
	}

	public void setVara(String vara) {
		this.vara = vara;
	}

	public String getComarca() {
		return comarca;
	}

	public void setComarca(String comarca) {
		this.comarca = comarca;
	}

	public String getLocalDocumentos() {
		return localDocumentos;
	}

	public void setLocalDocumentos(String localDocumentos) {
		this.localDocumentos = localDocumentos;
	}

	public String getDocumentacaoEntregue() {
		return documentacaoEntregue;
	}

	public void setDocumentacaoEntregue(String documentacaoEntregue) {
		this.documentacaoEntregue = documentacaoEntregue;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Date getDataInicial() {
		return dataInicial;
	}

	public void setDataInicial(Date dataInicial) {
		this.dataInicial = dataInicial;
	}

	public Date getDataFinal() {
		return dataFinal;
	}

	public void setDataFinal(Date dataFinal) {
		this.dataFinal = dataFinal;
	}

	public String getAudiencia() {
		return audiencia;
	}

	public void setAudiencia(String audiencia) {
		this.audiencia = audiencia;
	}

	public String getStatusCausa() {
		return statusCausa;
	}

	public void setStatusCausa(String statusCausa) {
		this.statusCausa = statusCausa;
	}

	public List<Andamento> getAndamento() {
		return andamento;
	}

	public void setAndamento(List<Andamento> andamento) {
		this.andamento = andamento;
	}
	
}
